#include <stdio.h>
#include <stdlib.h>
#include "tsmatrix.h"
//思路为构建map数组记录非零数值的位置
bool add_matrix(const TSMatrix *pM, const TSMatrix *pN, TSMatrix *pQ){
    if(pM->m!=pN->m||pM->n!=pN->n) return false;
    pQ->len=0;
    pQ->m=pM->m;
    pQ->n=pM->n;
    int map[pM->m+1][pM->n+1];
    for(int s=0;s<=pM->m;s++){
        for(int t=0;t<=pM->n;t++){
            map[s][t]=0;
        }
    }
    for(int p=0;p<pM->len;p++){
        map[pM->data[p].i][pM->data[p].j]=pM->data[p].e;
    }
    for(int p=0;p<pN->len;p++){
        map[pN->data[p].i][pN->data[p].j]=map[pN->data[p].i][pN->data[p].j]+pN->data[p].e;
    }
    for(int s=0;s<=pM->m;s++){
        for(int t=0;t<=pM->n;t++){
            if(map[s][t]!=0){
                pQ->data[pQ->len].i=s;
                pQ->data[pQ->len].j=t;
                pQ->data[pQ->len].e=map[s][t];
                pQ->len++;
            }
        }
    }
    return true;
}